/**
 * 
 */
package framework.customer;

import java.util.List;

import framework.account.IAccount;

/**
 * @author  ekamoliddinov   This interface is base for all customers.
 */
public interface ICustomer {
	public List<IAccount> getAaccounts();
	public void addAccount(IAccount acc);
	public IAccount getAccount(String accountNumber);
	/**
	 * @uml.property  name="name"
	 */
	public String getName();

	/**
	 * @param name
	 * @uml.property  name="name"
	 */
	public void setName(String name);

	/**
	 * @uml.property  name="street"
	 */
	public String getStreet();

	/**
	 * @param street
	 * @uml.property  name="street"
	 */
	public void setStreet(String street);

	/**
	 * @uml.property  name="city"
	 */
	public String getCity();

	/**
	 * @param city
	 * @uml.property  name="city"
	 */
	public void setCity(String city);

	/**
	 * @uml.property  name="state"
	 */
	public String getState();

	/**
	 * @param state
	 * @uml.property  name="state"
	 */
	public void setState(String state);

	/**
	 * @uml.property  name="zip"
	 */
	public String getZip();

	/**
	 * @param zip
	 * @uml.property  name="zip"
	 */
	public void setZip(String zip);

	/**
	 * @uml.property  name="email"
	 */
	public String getEmail();

	/**
	 * @param email
	 * @uml.property  name="email"
	 */
	public void setEmail(String email);

    public BaseCustomer.Type getType();
}
